﻿Public Class FrmBCuenta

    Private Shared Cta As GBDZafiro.PlanCuentas
    Public ReadOnly Property Cuenta As GBDZafiro.PlanCuentas
        Get
            Return Cta
        End Get
    End Property

    Private Sub FrmBCuenta_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim dtPCuentas As DataTable = GBDZafiro.PlanCuentas.ConsultarAll()
        cargargvPCuenta(dtPCuentas)
        tbFiltro.Focus()
    End Sub

    Private Sub gvPCuentas_CellDoubleClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gvPCuentas.CellDoubleClick
        sendCuenta()
    End Sub

    Private Sub gvPCuentas_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles gvPCuentas.KeyPress

    End Sub

    Private Sub gvPCuentas_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles gvPCuentas.KeyDown
        If e.KeyCode = Keys.Enter Then
            sendCuenta()
        End If
    End Sub

    Private Sub btAceptar_Click(sender As System.Object, e As System.EventArgs) Handles btAceptar.Click
        cargargvPCuenta(GBDZafiro.PlanCuentas.ConsxCCtaoDesc(tbFiltro.Text))
    End Sub

    Private Sub btCancelar_Click(sender As System.Object, e As System.EventArgs) Handles btCancelar.Click
        Cta = Nothing
        Me.Close()
    End Sub

    Private Sub tbFiltro_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles tbFiltro.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            cargargvPCuenta(GBDZafiro.PlanCuentas.ConsxCCtaoDesc(tbFiltro.Text))
        End If
    End Sub

    Private Sub cargargvPCuenta(ByRef dtPCuenta As DataTable)

        If dtPCuenta.Rows.Count < 1 Then
            lbNoDatos.Visible = True
            gvPCuentas.DataSource = Nothing

        Else
            lbNoDatos.Visible = False
            With gvPCuentas
                .DataSource = Nothing
                .Rows.Clear()
                .DataSource = dtPCuenta

                .Columns("FECHA_REGISTRO").Visible = False
                .Columns("TIPO_CUENTA").Visible = False
                .Columns("TERCERO").Visible = False
                .Columns("CCOSTO").Visible = False
                .Columns("PORC_BASE").Visible = False
                .Columns("NATURALEZA").Visible = False
                .Columns("MES00").Visible = False
                .Columns("MES01").Visible = False
                .Columns("MES02").Visible = False
                .Columns("MES03").Visible = False
                .Columns("MES04").Visible = False
                .Columns("MES05").Visible = False
                .Columns("MES06").Visible = False
                .Columns("MES07").Visible = False
                .Columns("MES08").Visible = False
                .Columns("MES09").Visible = False
                .Columns("MES10").Visible = False
                .Columns("MES11").Visible = False
                .Columns("MES12").Visible = False
                .Columns("MES13").Visible = False

                .Columns("COD_CUENTA").HeaderText = "CUENTA"
                .Columns("DESCRIPCION").HeaderText = "NOMBRE"
            End With
        End If
       
    End Sub

    Private Sub sendCuenta()
        Dim PCuenta As New GBDZafiro.PlanCuentas
        Dim rgvPCuenta As New DataGridViewRow()
        rgvPCuenta = gvPCuentas.CurrentRow

        If rgvPCuenta.Cells.Item("TIPO_CUENTA").Value = "2" Then
            With PCuenta
                .COD_CUENTA = rgvPCuenta.Cells.Item("COD_CUENTA").Value
                .DESCRIPCION = rgvPCuenta.Cells.Item("DESCRIPCION").Value
                .TIPO_CUENTA = rgvPCuenta.Cells.Item("TIPO_CUENTA").Value
                .TERCERO = rgvPCuenta.Cells.Item("TERCERO").Value
                .CCOSTO = rgvPCuenta.Cells.Item("CCOSTO").Value
                .PORC_BASE = rgvPCuenta.Cells.Item("PORC_BASE").Value
            End With

            Cta = PCuenta
            DialogResult = Windows.Forms.DialogResult.OK
            Me.Close()
        End If
    End Sub

End Class